10
תגובות

Yii אדמין

פתח משתמש_191224 ,
תראו אני רוצה לקרוא רק פעם אחת מהאדמין עכשיו אני רוצה שזה יהיה בכל CONTROLLER
בקיצור אני אראה לכם את הקוד

<?php
class Admin extends CActiveRecord
{
    public static function Read()
    {
        return self::model()->find();
    }
   
    public function tableName()
    {
        return 'admin';
    }
   
    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }
}
?>


כל הפרטים של האתר נמצאים במסד אבל אני לא רוצה לעשות כל פעם שאילתה אז אני רוצה לעשות משתנה שיהיה Admin::Read(); בcontroller הבסיסי שאני לא אצטרך לעשות כל פעם משתנה בשביל הADMIN אז זה מה שעשיתי

<?php
class Controller extends CController
{
    public $layout = 'header';
    public $admin = null;
   
    public function beforeAction()
    {
        $this->admin = Admin::Read();
    }
}

?>


אבל זה לא מריץ לי את האתר :/ איך אני מתקן את זה?

10 תשובות

avatar ענה intval ב 01 למאי 2012 #

אם זה לא מריץ את האתר, אז זה לפחות כותב את השגיאות.
באופן כללי, למה שלא תכניס את מה שצריך לסשן וזהו ?

avatar ענה משתמש_192910 ב 02 למאי 2012 #

משתנה לוקאלי בתוך הפונק', אם אתה כותב גם 'Admin::Read()', זה עובד טוב או שגם יש שגיאה?

avatar ענה KingYes ב 02 למאי 2012 #

^^
זה אני למעלה.

avatar ענה משתמש_193073 ב 02 למאי 2012 #

זה כן מריץ אבל זה מציג דף חלק כאילו אין HTML דף ריק
ואין בעיה עם הפונקציה Read אני פשוט לא רוצה לשלוף כל פעם מהמסד אז אני מגדיר את זה במשתנה

avatar ענה KingYes ב 02 למאי 2012 #

אהה.. יצא מצחיק..
עשית קריאה לפונקציה אבא אחרי שאתה 'דורס' את הפונקציה beforeAction?

avatar ענה משתמש_193635 ב 02 למאי 2012 #

איך אני עושה את זה?

avatar ענה KingYes ב 02 למאי 2012 #

הסינטקס הנכון הוא:

public function beforeAction($action)
{
     /// your staff..
     return parent::beforeAction($action);
}

avatar ענה KingYes ב 03 למאי 2012 #

עזר?

avatar ענה משתמש_193073 ב 04 למאי 2012 #

כן תודה :)

avatar ענה KingYes ב 05 למאי 2012 #

מה שאני אומר, להבא תוריד שורות מהקוד ותראה מאיפה נובע הבעיה.. כי אם היית אפילו מוריד את השורה של האתחול המשתנה, התוכנית שלך גם לא היית רצה.

בהצלחה לפעם הבאה ;)